A Design Discipline and Language Features for Formal Modular Reasoning in Aspect-Oriented Programs

نویسندگان

  • Curtis Clifton
  • Gary T. Leavens
چکیده

Advice in aspect-oriented programming helps programmers modularize crosscutting concerns by allowing additions and changes to a program’s execution. However, formal reasoning about the functional behavior of aspect-oriented programs requires a non-modular, wholeprogram search to find applicable advice. To allow modular reasoning, we describe a discipline that categorizes aspects into two sorts: spectators and assistants. “Spectators” are statically checked to not modify the behavior of the code they advise; this restriction lets them remain unseen. Unlike spectators, “assistants” are not restricted in their behavior. However, for modular reasoning one must be able to identify all applicable assistants, hence assistants must be explicitly accepted by the code they advise. Besides allowing modular reasoning, this discipline permits the use of existing idioms, and appears to be statically verifiable and practical for software development. Indeed, expert aspect-oriented programmers seem to use such a discipline.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Spectators and Assistants: Enabling Modular Aspect-Oriented Reasoning

In current aspect-oriented languages, separate compilation and modular reasoning are not possible. This detracts from comprehensibility and impedes maintenance efforts. We describe language features that would allow aspect-oriented languages to provide separate compilation and modular reasoning. We demonstrate that existing programs written in AspectJ can be easily rewritten using these features.

متن کامل

Open Modules: Modular Reasoning About Advice

Advice is a mechanism used by advanced object-oriented and aspect-oriented programming languages to augment the behavior of methods in a program. Advice can help to make programs more modular by separating crosscutting concerns more effectively, but it also challenges existing ideas about modularity and separate development. We study this challenge using a new, simple formal model for advice as...

متن کامل

Modular Reasoning with Join Point Interfaces Modular Reasoning with Join Point Interfaces

In current aspect-oriented systems, aspects usually carry, through their pointcuts, explicit references to the base code. Those references are fragile and give up important software engineering properties such as modular reasoning and independent evolution of aspects and base code. A well-studied solution to this problem consists in separating base code and aspects using an intermediate interfa...

متن کامل

Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming

This paper makes two contributions to a formal understanding of aspect-oriented programming. First, we define TinyAspect, a formal model capturing core AOP concepts. Compared to previous formalizations of AOP constructs, TinyAspectis extremely small, models aspects at the source level, and is defined using structured operational semantics and syntax-directed typing rules. In combination, these ...

متن کامل

Understanding Exceptional Behavior and Exception Flow in Implicit Invocation Systems by Mehdi Bagherzadeh, Hridesh Rajan and Ali Darvish

Exceptions and their implicit control flow complicate modular understanding (reasoning) of both exceptional behavior and exception flow of a system. Such reasoning tasks about exceptions are more complicated in implicit invocation (II) systems, where a subject module can invoke other observer modules without knowing about them and especially behavior and flow of their exceptions. In this work, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005